/**
 * 生产计划 订单详情分析
 */


<template>
  <div class="test">
    <div class="content">
      <!-- v-for 遍历父级div-->
      <div class="main" v-for="(item,index) in title" :key="index">
        <!--自定义宽高的dom，用于放置图表-->
        <div class="bar"></div>
      </div>
    </div>
  </div>
</template>
 
<script>
  export default {
    name: "test",
    data() {
      return {
        title: ['已下发订单数量', '未下发订单数量', '入库数量', '需出库数量', '测试柱图5'],//标题列表
        color: ['#5B8FF9', '#ca2df5', '#42CE92', '#f96950', '#047ff5'],//颜色列表
        value: [66, 90, 45, 12, 70]//数据（x轴的大小）
      }
    },
    methods: {
      // 方法：绘制柱状图
      draw_Bar() {
        var myEchart = document.getElementsByClassName('bar'); //获取类名
        //此处for循环多次初始化 echarts 实例
        for (var i = 0; i < myEchart.length; i++) {
          var myChart = this.$echarts.init(myEchart[i]); //初始化echarts实例要在for循环内
          const builderJson = {
            all: 100,
            charts: {
              map: this.value[i]
            }
          };
          let option = {
            title: {
              text: this.title[i],
              subtext: '总计 ' + builderJson.all,
              left: '170',
              top: '50',
              textAlign: 'center'
            },
            grid: {
              // 水平垂直居中
              top: 140,
              left: 'center',
              width: 310,
              height: 20,
              // grid 区域不包含坐标轴的刻度标签
              containLabel: false
            },
            // x轴y轴不显示
            xAxis: [
              {
                type: 'value',
                max: builderJson.all,
                show: false
              }
            ],
            yAxis: [
              {
                type: 'category',
                show: false
              }
            ],
            series: [
              // 蓝色条
              {
                type: 'bar',
                // 数据堆叠，设置相同的chart值便可堆叠放置
                stack: 'chart',
                color: this.color[i],
                z: 3,
                // 数据标签
                label: {
                  position: 'right',
                  show: true
                },
                data: Object.keys(builderJson.charts).map(function (key) {
                  return builderJson.charts[key];
                })
              },
              // 灰色条
              {
                type: 'bar',
                // 数据堆叠，设置相同的chart值便可堆叠放置
                stack: 'chart',
                silent: true,
                itemStyle: {
                  color: '#eee'
                },
                data: Object.keys(builderJson.charts).map(function (key) {
                  return builderJson.all - builderJson.charts[key];
                })
              }
            ]
          };
          //使用刚指定的配置项和数据显示图表
          myChart.setOption(option);
        }
      },
    },
    mounted() {
      //调用绘制柱状图的方法
      this.draw_Bar();
    }
  }
</script>
 
<style scoped>
  .content {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
 
  .main {
    width: 350px;
    margin: 30px 0;
    height: 200px;
    margin-left: 70px;
    background-color: #FFFFFF;
  }
 
  .main .bar {
    width: 100%;
    height: 100%;
  }
</style>

  
  <!-- <div>
    <!- 面包屑导航
    <el-breadcrumb separator-class="el-icon-arrow-right">
      <el-breadcrumb-item :to="{ path: '/' }">生产计划</el-breadcrumb-item>
      <el-breadcrumb-item>订单信息分析</el-breadcrumb-item>
    </el-breadcrumb>

  </div> -->
  <!-- <div class="EchartPractice">
      <div id="main"></div>
  </div> -->
  <!-- <div class="EchartPracti">
      <div id=""></div>
  </div> -->

<!--
//   export default {
//     name: "EchartPractice",
//     methods:{
//       drawChart() {
//         let myEchart = this.$echarts.init(document.getElementById("main"));
//         let option = {
//           title:{
//             text:"订单客户分析柱状图"
//           },
//           tooltip:{},
//           legend:{
//             data:["订单数量"]
//           },
//           xAxis:{
//             data: ["苹果","香蕉","橘子","葡萄",]
//           },
//           yAxis:{},
//           series:[{
//             name:'销量',
//             type:"bar",
//             data:[50,60,45,30,]
//           }]
//         };
//         myEchart.setOption(option);
//       }
//     },
//     mounted() {
//       this.drawChart();
//     }
//   }
// </script>

// <style scoped>
//   #main {
//     width: 600px;
//     height:400px;
//     margin: auto;
//     margin-top: 100px
//   }
// </style>

